﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using pryConvertTXT.BE;
using System.Net;
using System.IO;
using System.Collections;
using System.Runtime.InteropServices;

namespace pryConvertTXT.Forms
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();

        }

        private void frmMain_Load(object sender, EventArgs e)
        {
            if (clsModulo.listEmpresasBE == null)
            {
                MessageBox.Show("El sistema no se ha iniciado correctamente.", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Exit();
            }
            else
            {
                LlenarEntidad();
            }
        }

        private static void LlenarEntidad()
        {
            try
            {
                int pk;
                if (System.IO.File.Exists(clsModulo.Path))
                {
                    StreamReader objReader = new StreamReader(clsModulo.Path);
                    
                    String sLine = "";
                    ArrayList arrText = new ArrayList();

                    do
                    {
                        sLine = objReader.ReadLine();
                        if ((sLine != null))
                        {
                            arrText.Add(sLine);
                        }
                    } while (!(sLine == null));
                    objReader.Close();

                    pk = 0;
                    int index = 0;
                    clsModulo.listEmpresasBE.Clear();
                    foreach (object row in arrText)
                    {
                        String[] ItemArray = row.ToString().Split(';');

                        if (index == 0)
                        {
                            pk = Convert.ToInt32(ItemArray[0]);
                            clsModulo.Fecha = Convert.ToDateTime("01/" + ItemArray[1] + "/" + ItemArray[2]);
                        }
                        else
                        {
                            clsModulo.listEmpresasBE.Add(new EmpresaClienteBE()
                            {
                                Nombre = ItemArray[0],
                                RUC = ItemArray[1],
                                Ano = Convert.ToInt32(ItemArray[2]),
                                Enero = Convert.ToInt32(ItemArray[3]),
                                Febrero = Convert.ToInt32(ItemArray[4]),
                                Marzo = Convert.ToInt32(ItemArray[5]),
                                Abril = Convert.ToInt32(ItemArray[6]),
                                Mayo = Convert.ToInt32(ItemArray[7]),
                                Junio = Convert.ToInt32(ItemArray[8]),
                                Julio = Convert.ToInt32(ItemArray[9]),
                                Agosto = Convert.ToInt32(ItemArray[10]),
                                Septiembre = Convert.ToInt32(ItemArray[11]),
                                Octubre = Convert.ToInt32(ItemArray[12]),
                                Noviembre = Convert.ToInt32(ItemArray[13]),
                                Diciembre = Convert.ToInt32(ItemArray[14]),
                            });
                        }

                        index += 1;
                    }

                    clsModulo.AsignarEstado(clsModulo.Fecha);
                    clsModulo.BorrarArchivo(clsModulo.Path);

                    if (pk == 0)
                    {
                        MessageBox.Show("El sistema fue desactivado por falta de pago.", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        Application.Exit();
                    }
                }
                else
                {
                    MessageBox.Show("El sistema no puede encontrar los recurso requerido.", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //MenuStrip1.Enabled = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("El sistema no puede encontrar los recurso requerido.", "Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //MenuStrip1.Enabled = false;
            }

        }

        private void ImportarArchivoExcelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FrmMigrarBaseDatos frm = new FrmMigrarBaseDatos();
            frm.MdiParent = this;
            frm.Show();
        }

        private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
        }

        private void SalirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Esta seguro que desea salir?", "Cerrar", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Application.Exit();
            }
        }


    }
}
